package com.xhs.dto;

import lombok.Data;

/**
 * 小红书API响应封装类
 * 用于封装小红书API返回的通用响应格式
 *
 * @author xhs
 */
@Data
public class XhsApiResponse<T> {

    /**
     * 响应码，0表示成功，其他值表示失败
     */
    private Integer code;

    /**
     * 是否成功
     */
    private Boolean success;

    /**
     * 响应消息
     */
    private String msg;

    /**
     * 响应数据
     */
    private T data;

    /**
     * 检查响应是否成功
     * 只有code为0时才认为成功
     *
     * @return true表示成功，false表示失败
     */
    public boolean isSuccess() {
        return code != null && code == 0;
    }

    /**
     * 获取错误信息
     * 当响应失败时返回错误消息
     *
     * @return 错误消息
     */
    public String getErrorMessage() {
        if (isSuccess()) {
            return null;
        }
        return msg != null ? msg : "未知错误";
    }
} 